import { useAsyncGet } from "#imports";

// api数据集
interface ResponseForumSetting {
  // 网站设置
  setSite: {
    // 网站名称
    siteName: string;
    // 网站标题
    siteTitle: string;
    // 网站关键词
    siteKeywords: string;
    // 网站介绍
    siteIntroduction: string;
    // 公开模式
    siteMode: "private" | "public";
    // 开启扩展字段注册
    openExtFields: number;
    // 关闭站点
    siteClose: boolean;
    // 网站各端开启或关闭
    siteManage: unknown[];
    // 接口限频
    apiFreq: unknown[];
    // 网站关闭提示语
    siteCloseMsg: string;
    // 网站默认浏览器标签栏图标
    siteFavicon: string;
    // 网站logo
    siteLogo: string;
    // 首页头图
    siteHeaderLogo: string;
    // 背景图设置
    siteBackgroundImage: string;
    // 网站域名地址
    siteUrl: string;
    siteStat: string;
    // 网站默认管理员
    siteAuthor: unknown[];
    // 网站安装时间
    siteInstall: string;
    // 网站备案信息
    siteRecord: string;
    siteCover: string;
    // 网站备案号
    siteRecordCode: string;
    siteMasterScale: string;
    sitePayGroupClose: string;
    siteMinimumAmount: string;
    siteOpenSort: string;
    // 显示登录用户名
    usernameLoginIsdisplay: boolean;
    // 打开api日志
    openApiLog: boolean;
    // 打开默认阅读计数规则
    openViewCount: boolean;
  };
  // 注册设置
  setReg: {
    // 开启注册
    registerClose: boolean;
    // 注册验证
    registerValidate: boolean;
    // 开启验证码
    registerCaptcha: string;
    // 密码长度
    passwordLength: string;
    // 密码强度规则
    passwordStrength: unknown[];
    // 0:用户名 1:手机号 2:微信无感模式
    registerType: 0 | 1 | 2;
    isNeedTransition: string;
  };
  // 账号密钥
  passport: {
    // 开启公众号注册
    offiaccountOpen: boolean;
    // 开启小程序注册
    miniprogramOpen: boolean;
  };
  // 支付设置
  paycenter: {
    // 开启微信支付
    wxpayClose: boolean;
    // 开启ios微信支付
    wxpayIos: boolean;
    // 开启企业打款到零钱
    wxpayMchpayClose: boolean;
  };
  // 附件设置
  setAttach: {
    // 支持的图片后缀名称
    supportImgExt: string;
    // 支持的文件后缀名称
    supportFileExt: string;
    // 支持最大文件,单位MB
    supportMaxSize: number;
    // 单个用户一天下载的最多次数
    supportMaxDownloadNum: number;
  };
  // 腾讯云设置
  qcloud: {
    // 腾讯云appid
    qcloudAppId: string;
    // 开启腾讯云服务
    qcloudClose: boolean;
    // 开启cos对象存储
    qcloudCos: boolean;
    // 开启验证码
    qcloudCaptcha: boolean;
    // 验证码应用id
    qcloudCaptchaAppId: string;
    qcloudFaceid: boolean;
    // 短信
    qcloudSms: boolean;
    // 云点播
    qcloudVod: boolean;
    // cos文件预览
    qcloudCosDocPreview: boolean;
    // 存储桶名称
    qcloudCosBucketName: string;
    // 存储桶地区
    qcloudCosBucketArea: string;
    // 存储桶签名
    qcloudCosSignUrl: boolean;
    // 云点播视频自动播放
    qcloudVodAutoPlay: boolean;
    // 视频后缀名
    qcloudVodExt: string;
    // 视频文件大小
    qcloudVodSize: string;
    // 云点播应用id
    qcloudVodSubAppId: string;
    // 云点播水印
    qcloudVodWatermark: string;
    // 云点播回调验证码
    qcloudVodToken: string;
  };
  // 网站分成
  setCash: {
    // 提现费率0~1
    cashRate: number;
    // 最小提现金额
    cashMinSum: number;
  };
  // 其他设置信息
  other: {
    // 主题总数
    countThreads: number;
    // 评论总数
    countPosts: number;
    // 用户总数
    countUsers: number;
    canEditUserGroup: boolean;
    canEditUserStatus: boolean;
    canCreateThreadInCategory: boolean;
    canViewThreads: boolean;
    canFreeViewPaidThreads: boolean;
    canCreateDialog: boolean;
    canInviteUserScale: boolean;
    canInsertThreadAttachment: boolean;
    canInsertThreadPaid: boolean;
    canInsertThreadVideo: boolean;
    canInsertThreadImage: boolean;
    canInsertThreadAudio: boolean;
    canInsertThreadGoods: boolean;
    canInsertThreadPosition: boolean;
    canInsertThreadRedPacket: boolean;
    canInsertThreadReward: boolean;
    canInsertThreadAnonymous: boolean;
    canInsertThreadVote: boolean;
    initializedPayPassword: boolean;
    createThreadWithCaptcha: boolean;
    publishNeedBindPhone: boolean;
    publishNeedBindWechat: boolean;
    disabledChat: boolean;
  };
  // lbs定位
  lbs: {
    // 开启lbs定位服务
    lbs: boolean;
    // qqlbs key[免费版]
    qqLbsKey: string;
  };
  // 网站协议
  agreement: {
    // 开启隐私协议
    privacy: boolean;
    // 隐私协议内容
    privacyContent: string;
    // 注册协议
    register: boolean;
    // 注册协议内容
    registerContent: string;
  };
}
export const useForum = () => {
  return useAsyncGet<ResponseForumSetting>("/forum", "forum-data");
};
